package com.i2works.smartluolong.manage.dal.admin.dao;


import com.i2works.smartluolong.manage.entity.admin.*;
import com.i2works.smartluolong.utils.basecommon.BaseCommonDAO;
import com.i2works.smartluolong.utils.exception.DAOException;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Repository;

import java.util.Map;

/**
 * 管理员用户DAO接口
* @author koal koal@vip.qq.com
* @date 2015年11月3日 下午10:59:11 
*
 */

@Mapper
@Repository("adminUserDAO")
public interface IAdminUserDAO extends BaseCommonDAO<AdminUserQuery,AdminUserDO> {

	/**
	 * 更新用户密码
	 */
	void updatePasswordChange(AdminUserDO adminUserDO) throws DAOException;

	/**
	 * 新增角色
	 */
	 void saveUserRole(AdminUserRoleDO adminUserRoleDO) throws DAOException;
	
	/**
	 * 编辑角色
	 */
	 void updateUserRole(AdminUserRoleDO adminUserRoleDO) throws DAOException;
	
	/**
	 * 更新角色状态
	 */
	 void updateUserRoleStatus(AdminUserRoleDO adminUserRoleDO) throws DAOException;

	/**
	 * 批量更新状态
	 */
	void updateBatchStatus(Map map) throws DAOException;

	/**
	 * 验证某用户角色是否存在
	 */
	 int queryUserRoleExists(AdminUserRoleDO adminUserRoleDO) throws DAOException;


	/**
	 * 新增组织架构
	 */
	void saveUserOrg(AdminUserOrgDO adminUserOrgDO) throws DAOException;

	/**
	 * 编辑组织架构
	 */
	void updateUserOrg(AdminUserOrgDO adminUserOrgDO) throws DAOException;

	/**
	 * 更新组织架构状态
	 */
	void updateUserOrgStatus(AdminUserOrgDO adminUserOrgDO) throws DAOException;
	
	/**
	 * 查看用户组织编码
	 */
	
	String quryUserOrgCode(Integer userId) throws DAOException;

	/**
	 * 验证某用户组织架构是否存在
	 */
	int queryUserOrgExists(AdminUserOrgDO adminUserOrgDO) throws DAOException;


}
